Теория коди́рования — наука о свойствах кодов и их пригодности для достижения поставленной цели.
Кодирование в рамках теории рассматривается исключительно как процесс преобразования данных из формы, удобной для непосредственного использования, в форму, удобную для передачи, хранения, автоматической обработки и сохранения от несанкционированного доступа. К основным проблемам теории относят вопросы взаимной однозначности кодирования и сложности реализации канала связи при заданных условиях; в связи с этим выделяются следующие направления:
- сжатие данных — алгоритмическое преобразование данных, производимое с целью уменьшения занимаемого ими объёма, применяется для более рационального использования систем хранения и передачи данных, основная техника — устранение избыточности, содержащейся в исходных данных (например, повторения слов в тексте);
- транспортное кодирование — в информатике используется дополнительное кодирование для совместимости с протоколами передачи данных;
- криптография — преобразование данных для обеспечения конфиденциальности (невозможности прочтения информации посторонними), целостности данных (невозможности незаметного изменения информации), аутентификации (проверки подлинности авторства или иных свойств объекта), а также невозможности отказа от авторства;
- физическое кодирование — способ представления данных каких-либо сигналов, например, в виде дискретных уровней амплитуды напряжения, амплитуды тока, амплитуды яркости и так далее;
- обнаружение и исправление ошибок — контроль целостности данных при записи и воспроизведении информации или при её передаче по линиям связи с обеспечением восстановления информации.